package com.teach.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;

import com.teach.dto.ShopsSearch;
import com.teach.entity.ShopType;
import com.teach.entity.Shops;

/**<pre>
 * TODO:商品服务
 * ClassName : com.teach.service.ShopsService
 * Author : J.L.Zhou
 * Date : 2019年8月14日 下午7:24:06
 * Version : V1.0
 * Copyright 2019 jlzhou.top Inc. All rights reserved. 
 * Warning：本内容仅限于公司内部传阅，禁止外泄以及用于其他的商业目.</pre>
 */
public interface ShopsService {

	/**
	 * 申请店铺
	 * @param shops 店铺基本信息
	 * @param lng 经度
	 * @param lat 纬度
	 * @param imgs 店铺图片
	 * @param files 店铺审核材料
	 */
	void add(Shops shops,Double lng,Double lat,MultipartFile[] imgs,MultipartFile[] files);
	
	/**
	 * 修改店铺信息（申请失败后的修改）
	 * @param shops 店铺基本信息
	 * @param lng 经度
	 * @param lat 纬度
	 * @param deleteImgs 要删除的店铺信息
	 * @param imgs 新加的店铺信息
	 * @param files 修改后的审核材料（未修改，不上传）
	 */
	void modify(Shops shops,Double lng,Double lat,int[] deleteImgs,MultipartFile[] imgs,MultipartFile[] files);
	
	/**
	 * 审核
	 * @param shops
	 */
	void modifyPass(Shops shops);
	
	void delete(Long id);
	
	
	
	/**
	 * 获取商铺类型
	 * @param shopTypeId
	 * @return
	 */
	ShopType getType(Integer shopTypeId);
	
	/**
	 * 获取所有商铺类型
	 * @return 商铺类型
	 */
	List<ShopType> listType();
	
	
	/**
	 * 获取用户的商品信息
	 * @param userName
	 * @return
	 */
	Shops getByUserName(String userName);
	
	/**
	 * 获取商铺信息
	 * @param id 商铺编号
	 * @return 商铺
	 */
	Shops get(Long id);
	
	
	/**
	 * 获取附件的商铺信息分页
	 * @param search 查询条件
	 * @return
	 */
	Page<Shops> page(ShopsSearch search);
	
	/**
	 * 获取附件的商铺信息的第一页信息
	 * @param search
	 * @return
	 */
	List<Shops> list(ShopsSearch search);
}
